Tag-based Routing

The ARM increases flexibility in the flavors of the routing criteria by adding 'Tag-based routing' as a routing method. This routing method allows operators to assign Tags to the messages to be routed by the ARM, and to use these Tags’ values as routing criteria. The feature can be applied for the routing of both call and registration messages. Multiple Tags can be assigned to a single message (up to three) and all these Tags’ values can be used for routing matching.

Here's how to assign Tags in Policy Studio rules. The Tag value can be assigned using Policy Studio capabilities (ARM pre-routing functionality engine). The Tag value can be taken from any field of the user’s Property Dictionary the operator would like to use for further routing. This capability can only be applied to the Policy Studio rule whose 'Type' parameter is configured to User. The regular matching criteria with all the available parameters applies to Tag assigning as well.

To assign a Tag
Under the 'Action' section in the 'Add Call Item' screen that opens when adding a Policy Studio rule, select one or more Tags (TAG_1, TAG_2, TAG_3) and assign it with one or more attributes from the Property Dictionary. The value of this Property Dictionary for matching the user will be factored in for the corresponding TAG value and will be used for further routing.

The following example shows a Policy Studio rule named ‘Tag Routing for Invite’ applicable for calls setup routing coming from a specific Peer Connection to the user's office phone. This Policy Studio rule will assign the value DepartmentCode of the user to TAG_1 and PBXIPaddr to TAG_2. Both Tags can later be used in Routing Rules.

Values assigned to Tags in Policy Studio rule

The next example uses Policy Studio to assign a Tag value for registration messages (rule named ‘Tag assignment for registration’. TAG_1 gets the value from the PBX IPaddr attribute of the user matching the user’s mobile phone.

Value assigned to Tag for registration messages in Policy Studio rule

Tag values assigned to a routing request in Policy Studio can be further used as matching criteria in Routing Rules. Tag-based Routing Rules can be applied when 'Request type' is configured to Calls or Register. Tag matching criteria are available in ARM Routing Rules under the Advanced Conditions tab.

To apply a Tag-based Routing Rule:
In the Add Routing Rule screen (Routing > Routing Groups > click the Add Rule button) under the Advanced Conditions tab under the 'Tags' section, add a row by clicking the + icon and then select Tag 1, Tag 2 or Tag 3 (according to which Tag was assigned to the routing request in Policy Studio (TAG_1, TAG_2 or TAG_3). Note that it’s important that the same Tags in Policy Studio are assigned with values for future matching criteria in Routing Rules. One Routing Rule can have a Tag-matching condition involving multiple values of the same Tag and involving more than one Tag in the same condition. In this case, matching is calculated as follows:
Several values for the same Tag are treated as ‘or’
Several Tags in the condition are treated as ‘and’

In the following example, the rule named ‘RouteCallBased Tagging’ has a Tag-based condition as routing criteria. It will be matched if Tag 1’s value is either RandD or Sales. Assuming that Tag1 got its value of Department IP in Policy Studio, this Routing Rule allows routing based on this value.

Value assigned to Tag in 'Add Routing Rule' screen

In some cases , the same functionality for routing can be achieved using a Users Group or Tag-based routing. You can use either method of implementation but in the case of a high number of users (more than 1 million), using Tag-based routing is more efficient and preferable.